package top.laoliu.mapper;

import org.apache.ibatis.annotations.Param;
import top.laoliu.pojo.Position;
import top.laoliu.pojo.PositionVo;

import java.util.List;

/**
 * @Author: acer
 * @Date: 2020/10/7 19:58
 * @Description:
 */
public interface PositionMapper {
    //获取limit index，size数量的职位
    List<PositionVo> getLimitedPositions(@Param("index") Integer index, @Param("size") Integer size);

    //获取热招职位，根据浏览量排序
    List<PositionVo> getLimitedPositionsByBrowsing(@Param("index") Integer index, @Param("size") Integer size);

    //根据position_id获取某个position的详细信息
    PositionVo getPositionById(Integer position_id);

    //获取指定数量的除了本职位的其他同行业职位，用于推荐职位
    List<PositionVo> getLimitedOtherPositions(@Param("industry") String industry, @Param("position_id") Integer position_id, @Param("index") Integer index, @Param("size") Integer size);

    //模糊搜索获得搜索的职位信息列表,按时间排序
    List<PositionVo> getPositionsBySearchTime(@Param("position") String position, @Param("workplace") String workplace,@Param("classification")String classification, @Param("currentPage") Integer currentPage, @Param("pageSize") Integer pageSize);

    //模糊搜索获得搜索的职位信息列表,按浏览量排序
    List<PositionVo> getPositionsBySearchBrowsing(@Param("position") String position, @Param("workplace") String workplace, @Param("currentPage") Integer currentPage, @Param("pageSize") Integer pageSize);

    //获得搜索的总条数
    Integer getPositionTotalCountBySearch(@Param("position") String position, @Param("workplace") String workplace,@Param("classification")String classification);

    //更新职位信息
    int updatePosition(PositionVo position);

    List<String> getLimitedPositionName();

    List<PositionVo> getPositionByClassification(String classification);

    List<Position> getPositionsByCompany_id(Integer company_id);

    int insertPosition(Position position);
}
